package com.sf.service;

import javax.ws.rs.Consumes;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import com.github.pagehelper.Page;
import com.sf.framework.domain.Result;
import com.sf.model.ProMarketBase;
import com.sf.model.ProMarketBaseExample;

/**
 * 专业市场基本信息表restful服务接口
 *
 * @author 604625
*/
@Path("proMarketBase")
@Consumes({MediaType.APPLICATION_JSON, MediaType.TEXT_HTML, MediaType.TEXT_PLAIN, MediaType.TEXT_XML})
@Produces({MediaType.APPLICATION_JSON + "; " + MediaType.CHARSET_PARAMETER + "=UTF-8", MediaType.TEXT_XML + "; " + MediaType.CHARSET_PARAMETER + "=UTF-8"})
public interface ProMarketBaseRestService {

	/**
	 * 按条件计数
	 * 
	 * @param example 条件
	 * 
	 * @return Result<Integer>
	 *
    */
	@POST
	@Path("countByExample")
	Result<Integer> countByExample(ProMarketBaseExample example);

	/**
	 * 按主键删除
	 * 
	 * @param mktId 专业市场ID
	 * 
	 * @return Result<Integer>
	 *
    */
    @GET
	@Path("deleteByPrimaryKey/{mktId}")
    Result<Integer> deleteByPrimaryKey(@PathParam("mktId") String mktId);

	/**
	 * 新增
	 * 
	 * @param record 记录
	 * 
	 * @return Result<Integer>
	 *
    */
	@POST
	@Path("insert")
	Result<Integer> insert(ProMarketBase record);
	
	/**
	 * 按条件查询
	 * 
	 * @param example 条件
	 * @param pageNum 页码
	 * @param pageSize 每页数量
	 * 
	 * @return Result<Page<ProMarketBase>>
	 *
    */	
	@POST
	@Path("selectByExample/{pageNum}/{pageSize}")
	Result<Page<ProMarketBase>> selectByExample(ProMarketBaseExample example, @PathParam("pageNum") Integer pageNum, @PathParam("pageSize") Integer pageSize);

	/**
	 * 按主键查询
	 * 
	 * @param mktId 专业市场ID
	 * 
	 * @return Result<ProMarketBase>
	 *
    */	
    @GET
	@Path("selectByPrimaryKey/{mktId}")
    Result<ProMarketBase> selectByPrimaryKey(@PathParam("mktId") String mktId);
	
	/**
	 * 按主键更新,null的字段不更新
	 * 
	 * @param record 记录
	 * @return Result<Integer>
	 *
    */
	@POST
	@Path("updateByPrimaryKeySelective")
    Result<Integer> updateByPrimaryKeySelective(ProMarketBase record);

	/**
	 * 按主键更新
	 * 
	 * @param record 记录
	 * @return Result<Integer>
	 *
    */
	@POST
	@Path("updateByPrimaryKey")
	Result<Integer> updateByPrimaryKey(ProMarketBase record);
	
}